#pragma once

#include <string>
#include <filesystem>
#include <stdexcept>

#ifndef PATHSEPARATOR
#ifdef _WIN32
    #define PATHSEPARATOR "\\"
    #include <windows.h>
#else
    #define PATHSEPARATOR "/"
#endif
#endif

class AppDirectory {
private:
    // 静态变量保存程序路径
    static std::string s_executable_path;

public:    
    // 初始化函数，在 main 中调用以设置路径
    static void InitializeAppPath(const char* argv0);

    // 静态函数获取应用程序目录
    static std::string GetAppDirectory();
};